package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.entity.DetailProduct;
import com.entity.Order;
import com.entity.OrderDetail;
import com.utils.Pager;

public interface OrderDao {
	/**
	 * 添加订单信息
	 * @param order
	 * @return
	 */
	public int addOrder(Order order);
	
	/**
	 * 添加订单详情
	 * @param detail
	 * @return
	 */
	public int addOrderDetail(OrderDetail detail);
	
	/**
	 * 根据id查询订单总记录数
	 * @param id
	 * @return
	 */
	public int UserByIdOrder(int id);
	
	/**
	 * 根据用户id查询订单信息并分页 || 查询所有订单信息 根据创建时间逆序
	 * @param userid
	 * @return
	 */
	public List<Order> orderList(@Param("userid")int userid,@Param("pager")Pager pager);
	
	/**
	 * 根据订单号获取 订单详情（订单表和商品表连表查）
	 * @return
	 */
	public List<DetailProduct> orderDetail();
	
	/**
	 * 查询订单总数
	 * @return
	 */
	public int orderDetailCount();
	
	/**
	 * 分页查询 根据 name == null userid查  || name ！= null  名称模糊 userid查
	 * @param name
	 * @param userid
	 * @param pager
	 * @return
	 */
	public List<Order> orderListLike(@Param("name")String name,@Param("userid") int userid,@Param("pager") Pager pager);
	
	/**
	 * 名字模糊 查询（userid） 总记录数
	 * @param name
	 * @param userid
	 * @return
	 */
	public int orderLikeCount(@Param("name")String name,@Param("userid")int userid);
	
}
